The invention relates generally to oil-well log computer graphics presentations and more particularly to a log graphics presentation editor software utility method and system for creating and editing multi-well log computer graphics presentations. This method and system comprises a presentation editor software utility with a spreadsheet-like graphical user interface. The presentation editor displays multiple oil-well log object-oriented programming graphical objects simultaneously. The user can create, edit and archive attribute values of the graphical objects; change the attributes of individual graphical objects displayed in the log graphics presentation; selectively update the attributes of associated graphical objects; automatically apply the changed attribute values to all the selected graphical objects within the presentation editor display; and archive the graphical objects and their attributes to create new log graphic presentations or to add to other log graphic presentations. The presentation editor allows the user to perform these operations efficiently using a spreadsheet-like graphical user interface.
In an object-oriented model of programming, problem modeling and solution is broken down in terms of the individual physical entities that exist in the problem domain. In object-oriented programming, a problem is modeled by building software entities, called objects, which represent the actual physical entities. For example, in displaying oil-well log graphics data on a computer screen, instead of concentrating on the algorithms and data needed to generate the display, the log graphics object-oriented model concentrates on the problem domain details. The oil-well log graphics computer display consists of multiple tracks, with each track representing various properties or characteristics of the oil-well such as borehole, reservoir, rock material, or rock structure properties. In translating the problem to an object-oriented representation, the physical problem domain entities, such as the tracks, are the objects. Each track object stores data representing its attributes. The objects also store procedures representing the actions the physical object is capable of carrying out. The data (or attributes) and procedures are usually hidden within the objects. Hiding the details within the objects is a major advantage of object-oriented modeling and programming because it helps to hide the complexity of the problem. It allows the programmer to concentrate on the overall system problem solution without getting lost in the working details.
However, since the attributes of each track are stored separately in each track object, this can be a disadvantage in traditional object-oriented systems when a user wishes to perform similar operations on multiple tracks, such as viewing and changing the same attributes across multiple track objects within a display. Previous systems required the user to select each track object, select the attribute of the track object and then make the change which would be applied to that particular track. This procedure would then have to be manually repeated for all the tracks within the display and can be quite time consuming. In addition, there was no easy way to archive individual graphical objects and their attributes to create new log graphic presentations or to add to other existing log graphic presentations.
The present presentation editor (PE) utility works within a Reservoir Characterization Software (RCS) System application program which provides a Petrotechical Open Software Corporation (POSC) compliant project database, enabling interactive sharing of data and integrated interpretations within such broad exploration and production (E&P) domains as geology, geophysics, petrophysics, surface modeling, reservoir modeling and reservoir engineering. The RCS system uses a Log Graphics Product (LGP) User Defined Class (UDC) graphics library to generate screen displays as well as hardcopy paper plots of single- and multi-well log interpretation results. RCS users may use other software applications as utilities (for example, WellComposite) to generate and/or edit well-log presentations.
Each log presentation can contain multiple logs displays, each log display contains multiple tracks and each track can display multiple UDC graphics objects that characterize various borehole, reservoir, rock material, or rock structure properties. Tracks are vertical columns increasing in depth or time in the vertical direction. Users can add, delete, move, or change the width of each track. Users can select a particular track and add any of the available UDC graphics objects to it, to create presentations. Users can select any graphics object by dragging the mouse over it, and clicking on it. Each graphic object in the log presentation can be modified by invoking its attribute editor (AE). Each graphics object AE is contained within a separate dialog window. The AE for any UDC object can be invoked by double-clicking on it.
Prior to the invention of the log graphics PE utility, the UDC library's user-interface for editing graphics objects within a log presentation required the user to edit one object at a time. Given the large number of graphics objects contained inside a log presentation, as well as the labor-intensive process of creating them, and invoking each of their AEs to modify them, creating a log graphics presentation is a very time-consuming task. On average, it may take the typical log analyst approximately two to two and one-half hours to create a typical single-well log presentation. The process is further slowed down by the fact that each graphics object AE is a separate dialog, so a lot of time is wasted in popping up a lot of individual AE dialog windows and popping them down.
Editing a log graphics presentation before the present PE, required a user to perform time consuming manually editing of each graphic object. When a particular attribute of the object such as track, width or curve was modified and the other tracks in the presentation also need to be altered, the user had to manually edit all the graphics objects individually.
For example in an RCS system such as GeoFrame.RTM., changing track widths prior to the PE, using a Log Graphics Product (LGP) User Defined Class (UDC) graphics library, required the user to first select the track and then open the track AE dialog window. The user would then change the track width attribute field and apply the changed value to display the track's updated track width. Also, since the tracks are contiguous from left to right, in order for the user to widen or narrow down one track, the user also has to change the track width of many other tracks displayed within the log presentation by performing the same process by selecting each track, then opening that track's AE dialog window and then updating the track width.
Similarly, changing track positions prior to the PE, in a RCS system using a Log Graphics Product (LGP) User Defined Class (UDC) graphics library, required the user to sequentially select each track's AE and change position of each track in the log presentation.
The graphic object AE human interface lists all the editable attributes of the UDC object, out of which the user frequently edits only a few. However, the user may want to apply the same changes made in the AE to all the graphic objects in a log presentation. For example, if a user wants to edit a single attribute of ALL track curves, say change the left-scale value, prior to the PE the user had to select each of the graphical objects individually using a mouse-click, and open its AE. Then the user types in the left-scale value in the AE dialog, and hit `OK` or `Apply` button to have that change take effect in the presentation on screen. Since the present AE human interface cannot copy selected attributes from one graphics object to another--the user has to manually type in those attribute values each time for every object to be edited.
Prior to the PE, if the user wanted to create a new presentation, the user either had to start from scratch and create all the necessary tracks or alternatively, the user had to use another predefined presentation as a starting point, then delete the tracks that were not needed and create the tracks that were missing. There was no way to archive individual tracks, and then come back and compose a fresh presentation by picking just the required tracks without having to create them all over again.
To illustrate examples of how difficult it was for the user to edit a log graphics presentation before the PE was invented, we describe how a few basic operations were performed in the old-style of editing.
To change track widths prior to the present PE, the user had to perform the following operation. Most tracks are laid contiguously from left to right and each track has a left position and a width. When a user wanted to widen (or narrow down) one track, the user had to: Enter the "Track select" mode by clicking one of the two "mode" icons to the left of the application canvas; select the track user wanted to widen or narrow, and then pop up a track Attribute Editor (AE). The user then manually changed the width attribute in the track AE. If there were any tracks to the right of the selected track, then the user had to manually perform the same operation of selecting each track and then manually changing the width attribute in that track's AE.
If the user wanted to change track positions prior to the present PE, the user had to go through a similar series of steps in order to change the left-to-right ordering of tracks. Let's say, the presentation had 5 tracks with a L-to-R order--T1, T2, T3, T4, and T5. Suppose, the user wanted to change the L-to-R order of the tracks to--T1, T3, T2, T4, T5. The user would first have to invoke the T3 AE; change the left position of T3 to that of the left position of T2, and manually apply the change by selecting either an "OK" or "Apply" command button; invoke the T2 AE, and change its left position to T3's left position plus T3's width, and manually apply the change by selecting an "OK" or "Apply" command button.
A graphic object's attribute editor exposes all of its editable attributes or properties. However, most users commonly edit only a small set of attributes 80% of the time, repeatedly. If a user wanted to edit a single attribute of ALL curves prior to the present PE, for example the left-scale value, the user had to select each of the curves individually using a mouse-click, and open its AE. Then the user has to type-in the left-scale value in the AE dialog, and manually apply the change by selecting a command icon to have that change take effect in the presentation on screen.
Individual tracks from different presentations could not be used to create a new presentation prior to the present PE. An entire presentation could be saved for later use, but an individual presentation track could not be saved and later used to compose a different presentation.
Therefore, there is a need for a graphics display editor for the efficient creating, editing and archiving of log presentation data that allows a user to edit multiple graphics objects simultaneously in one display, update the attributes of other graphics objects in the log presentation displays automatically when an attribute is changed in a related graphic object, and archive individual graphic objects in a library that a user can access to create new log presentations or to augment existing log presentations.